package com.yunhai.model.vo.fms;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class FmsMaterialConfigImportVo {

    /**
     * 物料编码
     */
    @ColumnWidth(10)
    @ExcelProperty(value = "编码", index = 0)
    @ApiModelProperty("物料编码")
    private String number;

    /**
     * 物料名称
     */
    @ColumnWidth(20)
    @ExcelProperty(value = "名称", index = 1)
    @ApiModelProperty("物料名称")
    private String name;

    /**
     * 外部编号，源物料ID
     */
    @ColumnWidth(14)
    @ExcelProperty(value = "外部物料编码", index = 2)
    @ApiModelProperty("源物料ID")
    private String srcMaterialId;

    /**
     * 计量单位名称
     */
    @ColumnWidth(12)
    @ExcelProperty(value = "物料单位", index = 3)
    @ApiModelProperty("计量单位名称")
    private String unitName;
    /**
     * 物料类型名称
     */
    @ColumnWidth(12)
    @ExcelProperty(value = "物料类型", index = 4)
    @ApiModelProperty("物料类型名称")
    private String materialTypeName;

    /**
     * 常温保质期(小时)
     */
    @ColumnWidth(22)
    @ExcelProperty(value = "常温保质期(单位：小时)", index = 5)
    @ApiModelProperty("保质期(小时)")
    private Integer expirationDate;

    /**
     * 冷冻保质期(小时)
     */
    @ColumnWidth(22)
    @ExcelProperty(value = "冷藏保质期(单位：小时)", index = 6)
    @ApiModelProperty("冷冻保质期(小时)")
    private Integer freezeExpirationDate;

    /**
     * 消毒周期(小时)  清洗周期
     */
    @ExcelProperty(value = "清洗周期(单位：小时)", index = 7)
    @ColumnWidth(22)
    @ApiModelProperty("消毒周期(小时)")
    private Integer disinfectCycle;

    /**
     * 物料转换系数
     */
    @ExcelProperty(value = "物料转换系数", index = 8)
    @ColumnWidth(14)
    @ApiModelProperty("物料转换系数")
    private Double materialConversionCoefficient;

    /**
     * 启用状态(1:启用 0:禁用)
     */
    @ColumnWidth(8)
    @ExcelProperty(value = "状态", index = 9)
    @ApiModelProperty("启用状态(1:启用 0:禁用)")
    private String enabled;

    /**
     * 为性状易受影响物料、sticky
     */
    @ColumnWidth(22)
    @ExcelProperty(value = "为性状易受影响物料", index = 10)

    @ApiModelProperty("粘稠标识(1:是 0:否)")
    private String sticky;

    /**
     * 强制清洗、强制消毒标识
     */
    @ColumnWidth(10)
    @ExcelProperty(value = "强制清洗", index = 11)

    @ApiModelProperty("强制消毒标识")
    private String forceDisinfect;

    /**
     * 单独排放标识
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "始终单独出料", index = 12)
    @ApiModelProperty("单独排放标识")
    private String alwaysDischargeSeparately;
    /**
     * 强制扫码标识
     */
    @ExcelProperty(value = "强制扫码补料", index = 13)
    @ColumnWidth(16)
    @ApiModelProperty("强制扫码标识")
    private String forcedScanning;
    /**
     * 强制丢弃标识
     */
    @ExcelProperty(value = "强制报废", index = 14)
    @ColumnWidth(10)
    @ApiModelProperty("强制丢弃标识")
    private String forceThrow;
    /**
     * 标准分量(g) 一份物料多少g
     */
    @ExcelProperty(value = "1份物料(g)", index = 15)
    @ColumnWidth(14)
    @ApiModelProperty("标准分量(g)")
    private Integer portion;
    /**
     * 是否支持萃取
     */
    @ExcelProperty(value = "是否支持萃取", index = 16)
    @ColumnWidth(14)
    @ApiModelProperty("是否支持萃取")
    private String extracted;

    @ColumnWidth(18)
    @ExcelProperty(value = "创建时间", index = 17)
    @JsonFormat( pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;
//    创建时间
    /**
     * 备注
     */
    @ColumnWidth(20)
    @ExcelProperty(value = "备注", index = 18)
    @ApiModelProperty("备注")
    private String remark;
}
